package com.haier.npt.security.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.haier.npt.security.domain.SysRoleMemberRe;
import com.haier.npt.security.dto.SysRoleDTO;


/**
 * @Description:角色人员关系
 * @author: lixu
 * @date:   2018年7月13日 下午3:27:43   
 */
public interface SysRoleMemberReDao extends BaseMapper<SysRoleMemberRe> {

    List<SysRoleDTO> listRoles(Long[] memberIds);

    List<Long> allList(Long roleId);

    List<Long> listMemberIdByRole(Page<Long> page, Long roleId);


    /**
     * 查询给定memberId下拥有的系统内置角色的数量
     *
     * @param memberId
     * @return
     */
    Integer selectRoleSystemCountByMemberid(@Param("memberId") Long memberId);


    /**
     * 根据memberids查询这些ID的人员中包含内置管理员角色的人员ID
     *
     * @param memberIds
     * @return
     */
    List<Long> selectMembersTypeByMemberIds(@Param("memberIds") List<Long> memberIds);


    int selectRoleSystemByMemberIdsAndOrgs(@Param("memberIds") List<Long> memberIds);
}
